package com.esunny.resourcevisualization.service;

import com.esunny.resourcevisualization.domain.entity.ResourceTypeEntityData;
import com.esunny.resourcevisualization.domain.response.ReturnStructure;

import java.util.List;

/**
 * @version 1.0.0.0
 * @InterfaceName ResourceTypeEntityDataService
 * @Description 资源类别实体字段值服务接口
 * @Author baochencong
 * @Date 2020/9/28 15:54
 */
public interface ResourceTypeEntityDataService {

    /**
     * 添加资源类别实体字段值
     *
     * @param resourceTypeEntityData 资源类别实体字段值
     * @return 添加结果信息
     */
    ReturnStructure addResourceTypeEntityData(ResourceTypeEntityData resourceTypeEntityData);

    /**
     * 通过资源类别实体字段值id修改资源类别实体字段值
     *
     * @param entityDataId    资源类别实体字段值id
     * @param entityDataValue 资源类别实体字段值
     * @return 修改结果信息
     */
    ReturnStructure updateResourceTypeEntityDataByEntityDataId(int entityDataId, String entityDataValue);

    /**
     * 通过资源类别实体id和资源类别实体字段英文名修改资源类别实体字段值
     *
     * @param resourceTypeEntityData 资源类别实体字段值
     * @return 修改结果信息
     */
    ReturnStructure updateResourceTypeEntityDataByEntityIdAndFieldName(ResourceTypeEntityData resourceTypeEntityData);

    /**
     * 通过资源类别实体id和资源类别实体字段英文名获取资源类别字段值
     *
     * @param entityId  资源类别实体id
     * @param fieldName 资源类别实体字段英文名
     * @return 资源类别字段值
     */
    ResourceTypeEntityData getResourceTypeEntityDataByEntityIdAndFieldName(int entityId, String fieldName);

    /**
     * 通过资源类别实体id获取资源类别字段值列表
     *
     * @param entityId 资源类别实体id
     * @return 资源类别字段值列表
     */
    List<ResourceTypeEntityData> getResourceTypeEntityDataByEntityId(int entityId);

}
